package com.gxa.hualian.mapper;

import com.gxa.hualian.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @Author ChenJin
 * @date 2021/10/12 16:10
 * Description:
 **/
public interface UserMapper {

    /**
     * 根据id查找用户
     * @param id 用户编号
     * @return
     */
    User selectById(Long id);

    /**
     * 查询全部用户
     * @return
     */
    List<User> selectAll();

    /**
     * 添加用户
     * @param user
     */
    Integer addUser(User user);

    /**
     * 添加用户
     * @param user
     */
    Integer addUser2(User user);

    /**
     * 根据id删除用户
     * @param id
     */
    void deleteUser(Long id);

    /**
     * 修改用户信息
     * @param user
     */
    void update(@Param("user")User user);

    /**
     * 分页查询方法
     * @param offset 偏移量
     * @param size 每页记录数
     * @return
     */
    List<User> selectByPage(Integer offset,Integer size);

    /**
     * 使用Map参数分页查询方法
     * @param offset 偏移量
     * @param size 每页记录数
     * @return
     */
    List<User> selectByPage2(Integer offset,Integer size);

    /**
     * 使用Map参数分页查询方法
     * @param offset 偏移量
     * @param size 每页记录数
     * @return
     */
    List<User> selectByPage3(Integer offset,Integer size);

    /**
     * 根据电话和密码查询用户
     * @param phone
     * @return
     */
    User selectByPhone(String phone);

    List<User> selectBySearch(String value);

    /**
     * 根据电话和密码查询用户
     * @param phone
     * @return
     */
    User selectByPhone3(String phone);

    /**
     * 根据电话和密码查询用户
     * @param phone
     * @return
     */
    Map selectByPhone2(String phone);

    User getUsedList(String phone);

}
